#include "util.h"

int32_t make_queue(key_t key, int msgflg) {
  int32_t result;
  if ((result = msgget(key, msgflg)) == -1) {
    perror("msgget failure");
    exit(-1);
  }
  return result;
}

ssize_t get_msg(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg) {
  ssize_t ret;
  ret = msgrcv(msqid, msgp, msgsz, msgtyp, msgflg);
  if (ret < 0) {
    perror("msgrcv");
    // exit(-1);
  }
  return ret;
}

void send_msg(int msqid, void *msgp, size_t msgsz, int msgflg) {
  if (msgsnd(msqid, msgp, msgsz, msgflg) == -1) {
    perror("msgsend failure");
    // exit(-1);
  }
  return;
}
